package impl

import (
	"gitee.com/76439984/vblog/tree/master/api/apps/user"
	"gitee.com/76439984/vblog/tree/master/api/conf"
	"sync"
)

//业务实例类的构造
// 因为使用impl实例类来实现user.service接口，因此返回的是user.Service接口,而不是结构体
// 如果是用于存放数据就返回结构体
func NewImpl() user.Service {
	return &Impl{
		Auth:     conf.C().Auth,
		sessions: map[string]string{},
	}
}

// 负责实现service
// 用户和密码放到配置上的,依赖配置对象
type Impl struct {
	Auth *conf.Auth
	// 使用一个map保存登录用户的session
	sessions map[string]string
	lock     sync.Mutex
}
